// Copyright 2021-2025 Buf Technologies, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// @generated by protoc-gen-es v2.10.1 with parameter "target=js+dts,import_extension=js"
// @generated from file google/protobuf/unittest_proto3.proto (package proto3_unittest, syntax proto3)
/* eslint-disable */

import { enumDesc, fileDesc, messageDesc, tsEnum } from "@bufbuild/protobuf/codegenv2";
import { file_google_protobuf_unittest_import } from "./unittest_import_pb.js";

/**
 * Describes the file google/protobuf/unittest_proto3.proto.
 */
export const file_google_protobuf_unittest_proto3 = /*@__PURE__*/
  fileDesc("CiVnb29nbGUvcHJvdG9idWYvdW5pdHRlc3RfcHJvdG8zLnByb3RvEg9wcm90bzNfdW5pdHRlc3Qi9xEKDFRlc3RBbGxUeXBlcxIWCg5vcHRpb25hbF9pbnQzMhgBIAEoBRIWCg5vcHRpb25hbF9pbnQ2NBgCIAEoAxIXCg9vcHRpb25hbF91aW50MzIYAyABKA0SFwoPb3B0aW9uYWxfdWludDY0GAQgASgEEhcKD29wdGlvbmFsX3NpbnQzMhgFIAEoERIXCg9vcHRpb25hbF9zaW50NjQYBiABKBISGAoQb3B0aW9uYWxfZml4ZWQzMhgHIAEoBxIYChBvcHRpb25hbF9maXhlZDY0GAggASgGEhkKEW9wdGlvbmFsX3NmaXhlZDMyGAkgASgPEhkKEW9wdGlvbmFsX3NmaXhlZDY0GAogASgQEhYKDm9wdGlvbmFsX2Zsb2F0GAsgASgCEhcKD29wdGlvbmFsX2RvdWJsZRgMIAEoARIVCg1vcHRpb25hbF9ib29sGA0gASgIEhcKD29wdGlvbmFsX3N0cmluZxgOIAEoCRIWCg5vcHRpb25hbF9ieXRlcxgPIAEoDBJRChdvcHRpb25hbF9uZXN0ZWRfbWVzc2FnZRgSIAEoCzIrLnByb3RvM191bml0dGVzdC5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZUgBiAEBEkEKGG9wdGlvbmFsX2ZvcmVpZ25fbWVzc2FnZRgTIAEoCzIfLnByb3RvM191bml0dGVzdC5Gb3JlaWduTWVzc2FnZRJGChdvcHRpb25hbF9pbXBvcnRfbWVzc2FnZRgUIAEoCzIlLnByb3RvMl91bml0dGVzdF9pbXBvcnQuSW1wb3J0TWVzc2FnZRJGChRvcHRpb25hbF9uZXN0ZWRfZW51bRgVIAEoDjIoLnByb3RvM191bml0dGVzdC5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bRI7ChVvcHRpb25hbF9mb3JlaWduX2VudW0YFiABKA4yHC5wcm90bzNfdW5pdHRlc3QuRm9yZWlnbkVudW0SIQoVb3B0aW9uYWxfc3RyaW5nX3BpZWNlGBggASgJQgIIAhIZCg1vcHRpb25hbF9jb3JkGBkgASgJQgIIARJTCh5vcHRpb25hbF9wdWJsaWNfaW1wb3J0X21lc3NhZ2UYGiABKAsyKy5wcm90bzJfdW5pdHRlc3RfaW1wb3J0LlB1YmxpY0ltcG9ydE1lc3NhZ2USTgoVb3B0aW9uYWxfbGF6eV9tZXNzYWdlGBsgASgLMisucHJvdG8zX3VuaXR0ZXN0LlRlc3RBbGxUeXBlcy5OZXN0ZWRNZXNzYWdlQgIoARJZCiBvcHRpb25hbF91bnZlcmlmaWVkX2xhenlfbWVzc2FnZRgcIAEoCzIrLnByb3RvM191bml0dGVzdC5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZUICeAESTwocb3B0aW9uYWxfbGF6eV9pbXBvcnRfbWVzc2FnZRhzIAEoCzIlLnByb3RvMl91bml0dGVzdF9pbXBvcnQuSW1wb3J0TWVzc2FnZUICKAESFgoOcmVwZWF0ZWRfaW50MzIYHyADKAUSFgoOcmVwZWF0ZWRfaW50NjQYICADKAMSFwoPcmVwZWF0ZWRfdWludDMyGCEgAygNEhcKD3JlcGVhdGVkX3VpbnQ2NBgiIAMoBBIXCg9yZXBlYXRlZF9zaW50MzIYIyADKBESFwoPcmVwZWF0ZWRfc2ludDY0GCQgAygSEhgKEHJlcGVhdGVkX2ZpeGVkMzIYJSADKAcSGAoQcmVwZWF0ZWRfZml4ZWQ2NBgmIAMoBhIZChFyZXBlYXRlZF9zZml4ZWQzMhgnIAMoDxIZChFyZXBlYXRlZF9zZml4ZWQ2NBgoIAMoEBIWCg5yZXBlYXRlZF9mbG9hdBgpIAMoAhIXCg9yZXBlYXRlZF9kb3VibGUYKiADKAESFQoNcmVwZWF0ZWRfYm9vbBgrIAMoCBIXCg9yZXBlYXRlZF9zdHJpbmcYLCADKAkSFgoOcmVwZWF0ZWRfYnl0ZXMYLSADKAwSTAoXcmVwZWF0ZWRfbmVzdGVkX21lc3NhZ2UYMCADKAsyKy5wcm90bzNfdW5pdHRlc3QuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2USQQoYcmVwZWF0ZWRfZm9yZWlnbl9tZXNzYWdlGDEgAygLMh8ucHJvdG8zX3VuaXR0ZXN0LkZvcmVpZ25NZXNzYWdlEkYKF3JlcGVhdGVkX2ltcG9ydF9tZXNzYWdlGDIgAygLMiUucHJvdG8yX3VuaXR0ZXN0X2ltcG9ydC5JbXBvcnRNZXNzYWdlEkYKFHJlcGVhdGVkX25lc3RlZF9lbnVtGDMgAygOMigucHJvdG8zX3VuaXR0ZXN0LlRlc3RBbGxUeXBlcy5OZXN0ZWRFbnVtEjsKFXJlcGVhdGVkX2ZvcmVpZ25fZW51bRg0IAMoDjIcLnByb3RvM191bml0dGVzdC5Gb3JlaWduRW51bRIhChVyZXBlYXRlZF9zdHJpbmdfcGllY2UYNiADKAlCAggCEhkKDXJlcGVhdGVkX2NvcmQYNyADKAlCAggBEkoKFXJlcGVhdGVkX2xhenlfbWVzc2FnZRg5IAMoCzIrLnByb3RvM191bml0dGVzdC5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZRIWCgxvbmVvZl91aW50MzIYbyABKA1IABJLChRvbmVvZl9uZXN0ZWRfbWVzc2FnZRhwIAEoCzIrLnByb3RvM191bml0dGVzdC5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZUgAEhYKDG9uZW9mX3N0cmluZxhxIAEoCUgAEhUKC29uZW9mX2J5dGVzGHIgASgMSAAaGwoNTmVzdGVkTWVzc2FnZRIKCgJiYhgBIAEoBSJDCgpOZXN0ZWRFbnVtEggKBFpFUk8QABIHCgNGT08QARIHCgNCQVIQAhIHCgNCQVoQAxIQCgNORUcQ////////////AUINCgtvbmVvZl9maWVsZEIaChhfb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2UiqAMKD1Rlc3RQYWNrZWRUeXBlcxIYCgxwYWNrZWRfaW50MzIYWiADKAVCAhABEhgKDHBhY2tlZF9pbnQ2NBhbIAMoA0ICEAESGQoNcGFja2VkX3VpbnQzMhhcIAMoDUICEAESGQoNcGFja2VkX3VpbnQ2NBhdIAMoBEICEAESGQoNcGFja2VkX3NpbnQzMhheIAMoEUICEAESGQoNcGFja2VkX3NpbnQ2NBhfIAMoEkICEAESGgoOcGFja2VkX2ZpeGVkMzIYYCADKAdCAhABEhoKDnBhY2tlZF9maXhlZDY0GGEgAygGQgIQARIbCg9wYWNrZWRfc2ZpeGVkMzIYYiADKA9CAhABEhsKD3BhY2tlZF9zZml4ZWQ2NBhjIAMoEEICEAESGAoMcGFja2VkX2Zsb2F0GGQgAygCQgIQARIZCg1wYWNrZWRfZG91YmxlGGUgAygBQgIQARIXCgtwYWNrZWRfYm9vbBhmIAMoCEICEAESNQoLcGFja2VkX2VudW0YZyADKA4yHC5wcm90bzNfdW5pdHRlc3QuRm9yZWlnbkVudW1CAhABItkDChFUZXN0VW5wYWNrZWRUeXBlcxIaCg5yZXBlYXRlZF9pbnQzMhgBIAMoBUICEAASGgoOcmVwZWF0ZWRfaW50NjQYAiADKANCAhAAEhsKD3JlcGVhdGVkX3VpbnQzMhgDIAMoDUICEAASGwoPcmVwZWF0ZWRfdWludDY0GAQgAygEQgIQABIbCg9yZXBlYXRlZF9zaW50MzIYBSADKBFCAhAAEhsKD3JlcGVhdGVkX3NpbnQ2NBgGIAMoEkICEAASHAoQcmVwZWF0ZWRfZml4ZWQzMhgHIAMoB0ICEAASHAoQcmVwZWF0ZWRfZml4ZWQ2NBgIIAMoBkICEAASHQoRcmVwZWF0ZWRfc2ZpeGVkMzIYCSADKA9CAhAAEh0KEXJlcGVhdGVkX3NmaXhlZDY0GAogAygQQgIQABIaCg5yZXBlYXRlZF9mbG9hdBgLIAMoAkICEAASGwoPcmVwZWF0ZWRfZG91YmxlGAwgAygBQgIQABIZCg1yZXBlYXRlZF9ib29sGA0gAygIQgIQABJKChRyZXBlYXRlZF9uZXN0ZWRfZW51bRgOIAMoDjIoLnByb3RvM191bml0dGVzdC5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bUICEAAieAoSTmVzdGVkVGVzdEFsbFR5cGVzEjIKBWNoaWxkGAEgASgLMiMucHJvdG8zX3VuaXR0ZXN0Lk5lc3RlZFRlc3RBbGxUeXBlcxIuCgdwYXlsb2FkGAIgASgLMh0ucHJvdG8zX3VuaXR0ZXN0LlRlc3RBbGxUeXBlcyIbCg5Gb3JlaWduTWVzc2FnZRIJCgFjGAEgASgFIhIKEFRlc3RFbXB0eU1lc3NhZ2UiKQoUVGVzdE1lc3NhZ2VXaXRoRHVtbXkSEQoFZHVtbXkY/////wEgASgIIoUBCgpUZXN0T25lb2YyEjoKCGZvb19lbnVtGAYgASgOMiYucHJvdG8zX3VuaXR0ZXN0LlRlc3RPbmVvZjIuTmVzdGVkRW51bUgAIjQKCk5lc3RlZEVudW0SCwoHVU5LTk9XThAAEgcKA0ZPTxABEgcKA0JBUhACEgcKA0JBWhADQgUKA2ZvbyKzBwoLVGVzdEhhc2JpdHMSCgoCYjEYASABKAgSCgoCYjIYAiABKAgSCgoCYjMYAyABKAgSCgoCYjQYBCABKAgSCgoCYjUYBSABKAgSCgoCYjYYBiABKAgSCgoCYjcYByABKAgSCgoCYjgYCCABKAgSCgoCYjkYCSABKAgSCwoDYjEwGAogASgIEgsKA2IxMRgLIAEoCBILCgNiMTIYDCABKAgSCwoDYjEzGA0gASgIEgsKA2IxNBgOIAEoCBILCgNiMTUYDyABKAgSCwoDYjE2GBAgASgIEgsKA2IxNxgRIAEoCBILCgNiMTgYEiABKAgSCwoDYjE5GBMgASgIEgsKA2IyMBgUIAEoCBILCgNiMjEYFSABKAgSCwoDYjIyGBYgASgIEgsKA2IyMxgXIAEoCBILCgNiMjQYGCABKAgSCwoDYjI1GBkgASgIEgsKA2IyNhgaIAEoCBILCgNiMjcYGyABKAgSCwoDYjI4GBwgASgIEgsKA2IyORgdIAEoCBILCgNiMzAYHiABKAgSCwoDYjMxGB8gASgIEgsKA2IzMhggIAEoCBILCgNiMzMYISABKAgSCwoDYjM0GCIgASgIEgsKA2IzNRgjIAEoCBILCgNiMzYYJCABKAgSCwoDYjM3GCUgASgIEgsKA2IzOBgmIAEoCBILCgNiMzkYJyABKAgSCwoDYjQwGCggASgIEgsKA2I0MRgpIAEoCBILCgNiNDIYKiABKAgSCwoDYjQzGCsgASgIEgsKA2I0NBgsIAEoCBILCgNiNDUYLSABKAgSCwoDYjQ2GC4gASgIEgsKA2I0NxgvIAEoCBILCgNiNDgYMCABKAgSCwoDYjQ5GDEgASgIEgsKA2I1MBgyIAEoCBILCgNiNTEYMyABKAgSCwoDYjUyGDQgASgIEgsKA2I1Mxg1IAEoCBILCgNiNTQYNiABKAgSCwoDYjU1GDcgASgIEgsKA2I1Nhg4IAEoCBILCgNiNTcYOSABKAgSCwoDYjU4GDogASgIEgsKA2I1ORg7IAEoCBILCgNiNjAYPCABKAgSCwoDYjYxGD0gASgIEgsKA2I2Mhg+IAEoCBILCgNiNjMYPyABKAgSCwoDYjY0GEAgASgIEgsKA2I2NRhBIAEoCBILCgNiNjYYQiABKAgSCwoDYjY3GEMgASgIEgsKA2I2OBhEIAEoCBILCgNiNjkYRSABKAgSLAoFY2hpbGQYZCABKAsyHS5wcm90bzNfdW5pdHRlc3QuVGVzdEFsbFR5cGVzKmcKC0ZvcmVpZ25FbnVtEhAKDEZPUkVJR05fWkVSTxAAEg8KC0ZPUkVJR05fRk9PEAQSDwoLRk9SRUlHTl9CQVIQBRIPCgtGT1JFSUdOX0JBWhAGEhMKDUZPUkVJR05fTEFSR0UQwMQHQgJIAWIGcHJvdG8z", [file_google_protobuf_unittest_import]);

/**
 * Describes the message proto3_unittest.TestAllTypes.
 * Use `create(TestAllTypesSchema)` to create a new message.
 */
export const TestAllTypesSchema = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_proto3, 0);

/**
 * Describes the message proto3_unittest.TestAllTypes.NestedMessage.
 * Use `create(TestAllTypes_NestedMessageSchema)` to create a new message.
 */
export const TestAllTypes_NestedMessageSchema = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_proto3, 0, 0);

/**
 * Describes the enum proto3_unittest.TestAllTypes.NestedEnum.
 */
export const TestAllTypes_NestedEnumSchema = /*@__PURE__*/
  enumDesc(file_google_protobuf_unittest_proto3, 0, 0);

/**
 * @generated from enum proto3_unittest.TestAllTypes.NestedEnum
 */
export const TestAllTypes_NestedEnum = /*@__PURE__*/
  tsEnum(TestAllTypes_NestedEnumSchema);

/**
 * Describes the message proto3_unittest.TestPackedTypes.
 * Use `create(TestPackedTypesSchema)` to create a new message.
 */
export const TestPackedTypesSchema = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_proto3, 1);

/**
 * Describes the message proto3_unittest.TestUnpackedTypes.
 * Use `create(TestUnpackedTypesSchema)` to create a new message.
 */
export const TestUnpackedTypesSchema = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_proto3, 2);

/**
 * Describes the message proto3_unittest.NestedTestAllTypes.
 * Use `create(NestedTestAllTypesSchema)` to create a new message.
 */
export const NestedTestAllTypesSchema = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_proto3, 3);

/**
 * Describes the message proto3_unittest.ForeignMessage.
 * Use `create(ForeignMessageSchema)` to create a new message.
 */
export const ForeignMessageSchema = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_proto3, 4);

/**
 * Describes the message proto3_unittest.TestEmptyMessage.
 * Use `create(TestEmptyMessageSchema)` to create a new message.
 */
export const TestEmptyMessageSchema = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_proto3, 5);

/**
 * Describes the message proto3_unittest.TestMessageWithDummy.
 * Use `create(TestMessageWithDummySchema)` to create a new message.
 */
export const TestMessageWithDummySchema = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_proto3, 6);

/**
 * Describes the message proto3_unittest.TestOneof2.
 * Use `create(TestOneof2Schema)` to create a new message.
 */
export const TestOneof2Schema = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_proto3, 7);

/**
 * Describes the enum proto3_unittest.TestOneof2.NestedEnum.
 */
export const TestOneof2_NestedEnumSchema = /*@__PURE__*/
  enumDesc(file_google_protobuf_unittest_proto3, 7, 0);

/**
 * @generated from enum proto3_unittest.TestOneof2.NestedEnum
 */
export const TestOneof2_NestedEnum = /*@__PURE__*/
  tsEnum(TestOneof2_NestedEnumSchema);

/**
 * Describes the message proto3_unittest.TestHasbits.
 * Use `create(TestHasbitsSchema)` to create a new message.
 */
export const TestHasbitsSchema = /*@__PURE__*/
  messageDesc(file_google_protobuf_unittest_proto3, 8);

/**
 * Describes the enum proto3_unittest.ForeignEnum.
 */
export const ForeignEnumSchema = /*@__PURE__*/
  enumDesc(file_google_protobuf_unittest_proto3, 0);

/**
 * @generated from enum proto3_unittest.ForeignEnum
 */
export const ForeignEnum = /*@__PURE__*/
  tsEnum(ForeignEnumSchema);

